package com.regan.erp.aop;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 参数拦截器注解，参数详情验证 -> {@link AnnotationParaInterceptor} <br>
 * <pre>
 * phone:手机号码验证 eg: phone="tel" phone={"phone","tel"}
 * fixedine:固话 eg: phone="tel"
 * email:邮箱 eg: email="email"
 * min:小于等于 eg: min = {"title:20"}
 * minLength:长度小于等于 eg: minEq = {"title:20"}
 * max:大于 eg: max = {"title:20"}
 * maxLength:长度大于等于 eg: maxEq = {"title:20"}
 * range:长度范围限制 eg: range={"title:[20,60]"}
 * rangeNum:值的范围限制 eg: range={"title:[20,60]"}
 * number:判断是否为数字类型 eg: number={"num"}
 * bool:判断是否为布尔类型 eg: bool={"num"}
 * idCard:判断是否为身份证号 eg: idCard={"num"}
 * </pre>
 *
 * @author zhangby
 * @date 2018/4/26 上午11:25
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Verify4Para {

    //手机号码
    String[] phone() default "";

    //固定电话
    String[] fixedine() default "";

    //邮政编码
    String[] postCode() default "";

    //邮箱验证
    String[] email() default "";

    //最小值
    String[] min() default "";

    //最大值
    String[] max() default "";

    //长度最小值
    String[] minLength() default "";

    //长度最大值
    String[] maxLength() default "";

    //范围内限制
    String[] range() default "";

    //值的范围限制
    String[] rangeNum() default "";

    //判断是否为数字类型
    String[] number() default "";

    //判断是否为布尔类型
    String[] bool() default "";

    //判断是否为身份证号
    String[] idCard() default "";

    //验证失败，跳转指定页面
    String errorRedirect() default "";

}
